Computer systems typically include a combination of hardware (such as semiconductors, circuit boards, processors, and storage devices) and computer programs that are stored in the hardware and that are executed by the processors. Fundamentally, computer systems are used for the storage, manipulation, and analysis of data. One mechanism for managing data is called a database management system, which may also be called a database system or simply a database. One type of database is called a relational database, which organizes data into tables that have rows, which represent individual entries, tuples, or records in the database, and columns, fields, or attributes, which define the organization or structure of the data that is stored in each row, entry, tuple, or record. Each table has a unique name within the database and each column has a unique name within the particular table. The relational database also has an index, which is a data structure that identifies the location of a certain row in a table given an indexed column value, analogous to a book index informing the reader on which page a given word appears.
The power of the relational database flows from the fact that the relational database model uses a mathematical representation for its data, where relationships exist within the data, but the data itself is not tied to any particular view of the data or method of accessing the data. Thus, accessing the data does not rely on any built-in navigational information within the data itself, and the actions, procedures, or modules that access the data are separate from the data. Thus, the relational data may be freely indexed, queried, and accessed as a whole.